home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / STUTTGART / EMULATOR / GBDK_BIN / examples / c / 8q next >
Text File  |  1996-04-15  |  536b  |  42 lines

  1. #include<stdio.h>
  2.  
  3. int up[15], down[15], rows[8], x[8];
  4. int queens(), pr();
  5.  
  6. main()
  7. {
  8.     int i;
  9.  
  10.     for (i = 0; i < 15; i++)
  11.         up[i] = down[i] = 1;
  12.     for (i = 0; i < 8; i++)
  13.         rows[i] = 1;
  14.     queens(0);
  15.     return 0;
  16. }
  17.  
  18. queens(c)
  19. {
  20.     int r;
  21.  
  22.     for (r = 0; r < 8; r++)
  23.         if (rows[r] && up[r-c+7] && down[r+c]) {
  24.             rows[r] = up[r-c+7] = down[r+c] = 0;
  25.             x[c] = r;
  26.             if (c == 7)
  27.                 pr();
  28.             else
  29.                 queens(c + 1);
  30.             rows[r] = up[r-c+7] = down[r+c] = 1;
  31.         }
  32. }
  33.  
  34. pr()
  35. {
  36.     int k;
  37.  
  38.     for (k = 0; k < 8; k++)
  39.         printf("%c ", x[k]+'1');
  40.     printf("\n");
  41. }
  42.